Skip to content

fix: upgrade Node runtime to Node20 and update all dependencies#42

Merged
piraces merged 3 commits intomainfrom
fix/node-upgrade-and-deps
Jan 25, 2026
Merged

fix: upgrade Node runtime to Node20 and update all dependencies#42
piraces merged 3 commits intomainfrom
fix/node-upgrade-and-deps

Conversation

@piraces
Copy link
Copy Markdown
Owner

@piraces piraces commented Jan 24, 2026

Summary

Fixes #34 (End-Of-Life node version warning)

Changes

Node Runtime Upgrade

  • Updated task execution handlers from Node (v6) to Node20_1 with Node16 fallback
  • All 3 tasks updated: BicepInstall, BicepBuild, BicepDecompile

Version Bump

  • Extension version: 0.5.1 → 0.6.0
  • All task versions: 0.5.1 → 0.6.0

Dependencies Updated

Package From To
azure-pipelines-task-lib ^4.2.0 ^5.2.6
axios ^1.6.0 ^1.13.0
azure-pipelines-tool-lib 2.0.2 ^2.0.10
glob ^8.1.0 ^13.0.0
eslint ^8.34.0 ^9.39.2
@typescript-eslint/* ^5.51.0 ^8.53.1
lint-staged ^13.1.1 ^16.2.7
+ other devDeps to latest

Config Changes

  • Migrated .eslintrc.jseslint.config.js (ESLint 9 flat config)
  • Removed @types/glob (glob v13 includes its own types)

New: Automated Publish Pipeline

  • Added azure-pipelines-publish.yml for automated publishing to VS Marketplace
  • Triggers on version tags (v*)
  • Requires MARKETPLACE_PAT variable to be configured in Azure DevOps

Testing

  • ✅ All 55 tests passing
  • ✅ Build successful
  • ✅ Lint passing

Notes

  • jest, ts-jest, @types/jest kept at v29 (ts-jest doesn't support jest 30 yet)
  • @types/node kept at v20 (aligned with Node20 runtime target)

- Update task execution handlers from Node (v6) to Node20_1 with Node16 fallback
  Resolves end-of-life Node version warning (issue #34)

- Update all task versions to 0.6.0

- Update dependencies:
  - axios: ^1.6.0 → ^1.13.0
  - azure-pipelines-task-lib: ^4.2.0 → ^4.17.0
  - azure-pipelines-tool-lib: 2.0.2 → ^2.0.10
  - Updated all devDependencies to latest compatible versions

- Add automated publish pipeline (azure-pipelines-publish.yml)
  - Triggers on version tags (v*)
  - Builds and tests the extension
  - Publishes to VS Marketplace using tfx-cli
  - Requires MARKETPLACE_PAT variable to be configured

All tests pass (55/55).
Major updates:
- azure-pipelines-task-lib: 4.17.0 → 5.2.6
- eslint: 8.57.0 → 9.39.2 (migrated to flat config)
- @typescript-eslint/*: 7.0.0 → 8.53.1
- eslint-config-prettier: 9.0.0 → 10.1.8
- glob: 8.1.0 → 13.0.0
- lint-staged: 15.0.0 → 16.2.7

Config changes:
- Migrated from .eslintrc.js to eslint.config.js (ESLint 9 flat config)
- Removed @types/glob (glob v13 includes its own types)
- Fixed unused variable lint errors in catch blocks

Remaining at current versions (incompatible/appropriate):
- jest@29, ts-jest@29, @types/jest@29: ts-jest doesn't support jest 30 yet
- @types/node@20: Aligned with Node 20 runtime target

All 55 tests passing.
- Update all actions to v4 (checkout, setup-node, upload-artifact)
- Update CodeQL actions to v3
- Update Node.js versions in CI matrix from 18/19 to 20/22
- Update extension build to use Node.js 20
- Fixes deprecated actions/upload-artifact@v3 error
@piraces piraces merged commit c73f76d into main Jan 25, 2026
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

End-Of-Life node version warning

1 participant